import os
from celery import Celery

# 设置默认的Django设置模块
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'devops_platform.settings')

app = Celery('devops_platform')

# 使用Django的设置文件配置Celery
app.config_from_object('django.conf:settings', namespace='CELERY')

# 自动发现任务
app.autodiscover_tasks()

# Celery Beat 调度配置
app.conf.beat_schedule = {
    'check-host-status': {
        'task': 'cmdb.tasks.check_all_hosts_status',
        'schedule': 30.0,  # 每30秒执行一次 (可修改为其他值，如15.0表示15秒)
    },
    'collect-host-info': {
        'task': 'cmdb.tasks.batch_collect_host_info',
        'schedule': 300.0,  # 每5分钟收集一次主机信息
    },
}

app.conf.timezone = 'Asia/Shanghai'

@app.task(bind=True)
def debug_task(self):
    print(f'Request: {self.request!r}')
